package com.movie.service;

import com.movie.entity.Seat;
import java.util.List;

public interface SeatService {

    /**
     * 根据场次ID获取所有座位
     * @param showtimeId 场次ID
     * @return 座位列表
     */
    List<Seat> getSeatsByShowtimeId(Long showtimeId);

    /**
     * 初始化场次座位
     * @param showtimeId 场次ID
     * @param rows 行数
     * @param columns 列数
     * @return 是否初始化成功
     */
    boolean initializeSeats(Long showtimeId, int rows, int columns);

    /**
     * 更新座位状态
     * @param id 座位ID
     * @param status 新状态
     * @return 是否更新成功
     */
    boolean updateSeatStatus(Long id, String status);

    /**
     * 根据场次ID和座位位置获取座位
     * @param showtimeId 场次ID
     * @param rowIndex 行索引
     * @param columnIndex 列索引
     * @return 座位对象
     */
    Seat getSeatByPosition(Long showtimeId, Integer rowIndex, Integer columnIndex);

    /**
     * 根据座位ID获取座位
     * @param id 座位ID
     * @return 座位对象
     */
    Seat getSeatById(Long id);
}
